#ifndef __CHILDREN_H__
#define __CHILDREN_H__

#include <list>
#include <iostream>

#include "ContentParticules.h"
#include "Printer.h"

//STRUCTURE MEMOIRE DTD
//
//Children

class Children : public ContentParticules
{
	public:
		/*Constructeurs*/
		Children( CARDINALITY card );
		Children( CARDINALITY card, list<ContentParticules*>& CPList);

		/*Destructeur*/
		virtual ~Children();

		/*permet d'ajouter des cp à la liste*/
		void addParticule( ContentParticules* particule );
		void addParticuleFront( ContentParticules* particule );

		/*Fonction d'affichage de la structure en mémoire*/
		virtual void printMe();

		/*Get & Set*/
		const std::list<ContentParticules*>& getParticuleList() const;

		/*fonction de transformation en expression régulière*/
		virtual string toRegExp() = 0;
		virtual string toRegExp( char delim );

	protected:
		std::list<ContentParticules*>	particules;
		
};

#endif // #define __CHILDREN_H__

